package com.pproducto;

import java.sql.SQLException;
import java.util.ArrayList;
import java.util.List;

import com.j256.ormlite.android.apptools.OpenHelperManager;
import com.j256.ormlite.dao.Dao;

import android.app.Activity;
import android.content.Intent;
import android.database.Cursor;
import android.graphics.Color;
import android.os.Bundle;
import android.util.Log;
import android.view.View;
import android.view.View.OnClickListener;
import android.widget.ListAdapter;

import android.widget.ArrayAdapter;
import android.widget.EditText;
import android.widget.ListView;
import android.widget.TextView;
import android.widget.Toast;

public class Buscar extends Activity implements OnClickListener{
	
	
	Bundle b;//variable de tipo Bundle
	String mensaje,nombre_cadena; //utilizada para recibir el mensaje del activity anterior
	TextView t,producto,boton;
	DBHelper DBHelper;
	EditText caja;//valor digitado por el usuario
	ListView listaVista;
	
	
	
	@Override
	
	
	
	protected void onCreate (Bundle savedInstanceState){
		
		super.onCreate(savedInstanceState);
			setContentView(R.layout.buscar);
		    boton=(TextView)findViewById(R.id.boton);
			
		    
			t=(TextView)findViewById(R.id.op);//inicializamos las variables con referencia a nuestro respectivo LayOut
			b=getIntent().getExtras();
			
			mensaje=b.getString("opcion");//Obtenemos los datos procedentes de la MainActivity.java
			
			t.setText(mensaje); //ingresamos los datos enviados por el activity principal (MainActivity.java)
		
			
			boton.setOnClickListener(this);//Establecemos el evento clcik para el boton del layout
		
				                                     }//fin del metodo onCreate
	
	
	
		@Override		//metodo generado despues de el evento de dar click en el boton 
		public void onClick(View arg0) {		
			
			//Hacemos nuestro enlace con la base de datos 
			DBHelper DBHelper = OpenHelperManager.getHelper(this,DBHelper.class);
		

		
		   try {
			caja=(EditText)findViewById(R.id.caja);//hacemos referencia al layout
			//Capturamos el valor del NOMBRE
			
			nombre_cadena=caja.getText().toString();
			
			//Validamos que se haya digitado el ID
			
			if(nombre_cadena.length()==0)
				Toast.makeText(this, "Digite el Nombre del producto a Buscar", Toast.LENGTH_LONG).show();
			
			//Si el usuario ha digitado un ID procedemos en este flujo
			
			//1er else
			else{
			//Creamos nuestro Data Access object DAO
			
				
				Dao<Pproducto, Integer>dao =DBHelper.getPproductoDao();
		
			//Query's: buscar por Nombre
		    
		   //hacemos referencia al layout para preparar el ListView
		    listaVista =(ListView)findViewById(R.id.listaVista);
		    listaVista.setBackgroundColor(Color.BLACK); //color de fondo
		   
		   
		    
		  //Obtenemos todos los registros con el nombre digitado por el usuario  
	List <Pproducto>lista= dao.queryForEq(Pproducto.NOMBRE, nombre_cadena);
		 
		  //Si la BD devuelve null entonces decir que no esxite ese producto
            if (lista.isEmpty())
            	Toast.makeText(this, "No existe un producto con ese nombre", Toast.LENGTH_SHORT).show();
                
            
            //2do else
            else{
            	//Introducimos el resultado de exito en la ListView
            	ArrayAdapter<Pproducto> adaptador =new ArrayAdapter<Pproducto>(getApplicationContext(), android.R.layout.simple_list_item_1,lista);
            	listaVista.setAdapter(adaptador);
            	
		    //limpiando contenido del caja de texto
		    caja.setText("");
		    
		                 
           	   
		   //Liberando el helper luego de la coneccion una vez ha sido utilizado*/
		   OpenHelperManager.releaseHelper();
		
            }//fin del else 2do
			}//fin de else 1er
		   } //fin del try
			
			
		   
		   catch (SQLException e) {
			
		                          }
		
		
	                                     }//Fin del metodo OnClick
		
																}//fin de la activity buscar.java
